package com.richman.hg;


import java.awt.Color;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Date;
import java.util.Stack;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.config.CookieSpecs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.apache.http.entity.StringEntity;

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;

import org.json.*;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.util.Vector;
import java.util.Comparator;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
//
//import javax.xml.parsers.DocumentBuilder;  
//import javax.xml.parsers.DocumentBuilderFactory;  
//  
//
//
//import org.w3c.dom.Document;  
//import org.w3c.dom.Element;  
//import org.w3c.dom.NodeList;

import com.richman.controller.DecreseRatio;
import com.richman.ps38.entity.HGEvent;
import com.richman.utils.Common;

//import org.w3c.dom.Node;


public class HGHttp {

	CloseableHttpClient httpclient = null;
	RequestConfig requestConfig = null;
	HttpClientContext clientContext = null;
	
	
	
	int defaultTimeout = 60*1000;
	
	 {
		 
		 HttpHost proxy = new HttpHost("127.0.0.1", 1080, "http");
		 
	    requestConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build();
	    requestConfig = RequestConfig.copy(requestConfig).setRedirectsEnabled(false).build();//禁止重定向 ， 以便获取cookieb18
	    
	   // requestConfig = RequestConfig.copy(requestConfig).setProxy(proxy).build();//使用代理
	    
	    requestConfig = RequestConfig.copy(requestConfig).setConnectTimeout(defaultTimeout).setConnectionRequestTimeout(defaultTimeout).setSocketTimeout(defaultTimeout).build();//设置超时
	        httpclient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build();
	 }
	
	 
	 
	 
	 String[] blackboxarry = {"0400GP3AxROZu5DjK9GFecOQi@66i4G7AD/epYyI08HgY9ZP/TYA2dnWSPslWQtIbk9@VonC5jYL5kWf1NzO/e/Za@bHa83CDZB61v1dHhA@Z8mUw9Q3MrBHN/JtFYKIsXiDxBza8j1B4ivoH/BvhzBTyhOXOrhdJk4ypx285qKQ3aopQs/EGzmZL42zoUeUC6vGodztygBGzPwbsZUct7Q/ZWtGMuSZx2KT7rqLgbsAP96ljIjTweBj1k/9NgDZ2dZI@yVZC0huT35WicLmNgvmRZ/U3M7979lrwKr0Mf@ogWb3WmfvVlSAmcSS6Z3mZ2VXZvXcwGXpJNwgrBH5xvykmUPKtcSzTI8WVjvZb2sSI@UJjb6PWATewdLApGzhemEP2kBIAFVuhzI6vf5nQtRNfYakyjurCDela/xVuIwwZPxJdsQX44Feqln7RT2cIt7/Jk4ZVxPZuvIJ3tizGxh7Mqq56w8E1D/Aq/74rajwNhEd@hmEhxHk9NUTqzU1Qqk6Cxat4vxW3oLuXSDRh4H9eWZ7@EnMfC4L6@vWkemCx8WCIUo6xdxIguMWKMg1L34xYK0mmSbEolzrMCbyn4bY9GA73rYZtIsVWgT@Kx4Epa2zQm@3qhD9kp8XBuVSYSl4ziHA3t4riiNjc7VnhLpRA5b/57l0F0Brrc0Tckh7/d5/PjsbhNmiTfHBQm916StC15tFwbb5NkVtrNHzt95ePgXs@oQQc60trrGto44dFZ/k0B48ux@V4SxwhwBmNydI6S6la0lc7CNSwejOX5dhKDBAKBIrRLbRVKNQ0ZFLTxgkEHNS@shbWhtMSGGlyh1@eFUoW2PhFQTNfSEze0AnG1q44NyGTZasfYs6ZVAotR2odXyUKxUgVtZ@@LaXDquIDX8icOWPZcy4Xo6JR@o8uNh2BeaMmRyX73p8gr2HwTukBkdIckGeb9MIPntbiL1sOENgY4kVU9wB84@POrI4MkoD4iHJ5a1Qmz61zhzFB1cmuxfCytyYYcjwjs5Ca2/wBdhim9vK/UsQ5XOYm0OqKbAtjgzHMGAkLTLkEN4L7EfI8I7OQmtv8AXYYpvbyv1LEOVzmJtDqimwLY4MxzBgJC0y5BDeC@xHyPCOzkJrb/AF2GKb28r9SxfwKMcRIoeJtvb3n2nbY@LqW9TJIZnh2J8UIS8xP1xzpdqSgJrtcJbn4KW2br@bRU8xAXTS4l7DQtPYEf0PHxk1gG7@dJK6MAX8iYyy5jvSS4e4f0GE7S14ZEmq5OOykKuB5xKjTqLNXOp4yYEIf@L1yYqstDFzEDk4TYqQ5l7/SNfOTvsgtn95SxDtE2suujWRMoizXj3piSkiHcDvTuWbZ7blJBujU29QQ8SB0kvUX17s2aXugc5sIDgJ9mgQp@ZjVekMYG3JYXyFHBbsmyyzb0vSwWRA@aB5TScxRmXsPX01cXy7DqXkSsOi1EdXr7b2959p22PiGQ3gWGOkn04SjVAS/i3NCe9ub4JdkV8nUvQPAuo2LgKAC3SfR7deSLSUZpybFcXA9SHJSmUeiL0S5tTxl89lfBmtXv5e6tc48Uo0G0fnJb@qMXriBvz/IpZ5p1ZT3JYWp5dv7AxCQoQI1JkXIB6wRgUwblNTq6tU52FjdzrK4ZGbKK5VK8yjXvjQEWsxBrTE4gmKZsRitJJdWsji7DqFyUIqLtTiNNbCiynsbWM73MdfJbPdN9GgR85xQcX7FPBuhJAnQ6FZeOCYHXmRxu7HZ6J@jwZYl5QNjPTU9xUgoW//FfHPmIcnYaLjAvlkC6ix5GwMchIozX0BgkGiZF1OxvQxv2WDQUOQqbmeBo9e9SXb8RzWdzZK4bduoeAODFWWn@P0HNw3kOyAmeNHH6@w6rv@udKval8xr2HY5lvNHF39kR7UHxL1GdM/J1VPiftnLGrYJLffAJP3oau8Z0bmeaMKVEtXs/BN0wJYkmvau4AHJxysm6xar1EfpEWqrnmEn6y0xnt9ZdprkRUGarmU@g/9uCzos/YQ2WYxbUoIN09uleO4vjWRK5Cn/KpvXCpRfU7YASyknhdj7UN/EZ4b35TAk7I/k3MB360d7Me70LAc9BYG1p/QUAIePr/pfpk5gItuFfVAa8OYVYmFpL6c7cAhgfR41CwecUX1NQwTkkI241r4GHSz17y4a9qwALoCjOsmKv41B5TSLD6V3Jm36yTufJ5qUaB4St/nl@7eE0sSsgFb9TByCUnBxx4iGnUn@69VdSV0LIuaooOMGNrEN7mO/Pq3N/TloZoKlP3jKLjErKUFqx3sGVBpKL6FKxw5xwdDrJLQxBs8pTn2MB9EpiMYDLItJ4cUoL5UYylPcI8PaIm7c2Ccow/ir@3qKYyvKNOv8wR7fSRixOuW3bo1h01EdThRZ5Z0PZteNralKVGcIhrVYMaxRDRhwaE@r2obYef3dzx5p51@SjFXwCBBmVj7w1@RRbL3oEjSb4Rxzr11q32vxSDr8CPy@k6IcWvR65uQoIi8qHnZhVVwmmOhKrgVo5SMCESLWt6WOljklFzKRcnqU2QVbRxhcdim8D@mIGliZufAPDP/XJsxVZen3TjwRIEhwNm@cYN3O2iHR45brop67sVPH49LVoB/0jUutR9JsCkWB4op7J6Kn9LeotZ@@LaXDquIvyFwbYeI4HU9/8RuubIM@JGIg44UYNqyxUCF@cs6Nc6owTq0gYWuPLcw2q8d/yasjDpdxw07U@MAyANtPiQCjt4ITNWvrgwVFg50vNHValDfYj8kE0aqrIwdcOMsjwHWa4u9wAGjUAyx9l78yyPZdre3pfrCeEpCTJHFh0ePCsf28TuyfKa6ZPP0@gXVludpqwj1o8ldtlUBvUhXEsCkBoFkb32rQ6IzKEoGgEgONTZTuX8GLFI8uYdysBfOiSDyV2B7rPJbXl6XD@TOK5FdSxUllRJIDDKRIQ48yZKzJjV7UB241onEXOnqKnKPB6Bq45V@eMyTtX9tsnGK@RDqL4Js28Eh6YBuAYDxfbkr5OH7kXs8zFx@ed3hPdYfSIN0pcoGBZiMMvanUV1ZIGOXzrEfVk9EjAzqJqKR0TY3@IFKO/MIU5@sag==;0400VTMEVHGZBqEpIfq2LLtL/UWZiZsrZ72TwVBmUP9mFzwCP3I/gtJSIJV5spq18yMgQ41GAH0Am9NW2u38y6P/SaChuGoppCp1v2Crh3a6jSn1XTjSBB7M7hQxdGMD32yXZOY6osDdKdHD5pKAC4d@yfAtGo8A/Tvfd3CqZJar4zrBSSfO2zqgxdA4AdT/pFJuoH0kGGtCQ@/V4d@RnQegnNK3Sga2t5uGnCQVn3a9G6LMUG/DIrev3V1@9kQkJ9LIlU99UoH2xkl1BzqzgvMo2QcugzVXRynOolce3IxJD5qpSD8fpFwpjIK3aNhMvNKmWeia3UgCHAlO1Tp84e7/t8PmkoALh37J8C0ajwD9O993cKpklqvjOsFJJ87bOqDF0DgB1P@kUm6gfSQYa0JD7@9RJsn4u3PdHf7WUtiodkTaF5lQuVmMOCYs7V8rm0JKU/MnosPR0clv47mN@mlXbyMw@UhFUJmof4YeNRwRVA43z6JbpfGMIHmHDbzhrA1ejKeL71Mgr@yTxyZvEMrgKWawANUy46uBat3xgGu29B1@sb9MTFcLJ03x5MyScXfKlpBLguUejHPVpvaGyWpJU/wiBPJqj578CyaSdhLQpHC3e2thJvGFdtvc@a2XXRX8t0rI3RXuOPT5xjvaM5kgXXTUKQi/6ZhLmPztxzEXzNQCwRvkp0e1JWOT7uz0h46XUvQPAuo2LgKAC3SfR7deSLSUZpybFcXAwnHsdGqhD2ontsI9JDzbcqf9mM3@w9ZIJOLq7WBMpXl53I96WzuNwWUdUHpyGsju7yZHbT@hap8T0tJPmnbeZTC3o7rRuIcSlu1jV/KiKo0oDvlKqcW/vgHzj486sjgyUO@AInpd@UykzlhvKatVjussydRjZjLjFmQWppRl6Bv4pp48B2PR0LUM6Rn3JtHEfF9hXdZ4DRRiwxmZVjl9I7yC020QjFmKQSlTXXz38W@7rzbxH0ZCbqQct2fIUhDB51W@7h4F0BmqCMhOtBVzKv7F9SjGl3IQDIKINVrQrNJJ7TMAwER7lc3X8S8pWAYm7BFQVjvF0CKqWvTbz/c@r@/1pHv1njVwdKitZH4kQFI57RHFZltZDFd6oX/FlTt1kp62yUjciLFMARxe4EU9XeeRU0mQTUFrFFAN6Q1x80UdCdGdyqwwbTKdeSg4P@ujHRH29E2Pl68vN0XpeFtRxxRQDekNcfNFHQnRncqsMG0ynXkoOD/rox0R9vRNj5evLzdF6XhbUccUUA3pDXHzRR0J0Z3KrDBtoN6ijYgbJ3ZjjZSkBTBViCtv5Q@LwBkPj2qku3ZkvzkAM9dbBROeNQfbQD1p@KEcV6i8/tb5alAK/XRNo3H5dNOHjs7HO5CL//li8nYbsqLpi94ovlsN66Bx0NdEKXmvrI3MaSYrgzshIqKrjK@gdyAFUwN05hXzcycRhS8EwApMRV0YmXEHAJzxpxtwqoC5Z/uCi7ME8loQwLLSzeFEuVfe4edP@YyrEsp6nSACJCb173n9g@i/wRtn66qWWvpVoOXUWxljyPAVpcqq3kfmP7OgSQ0Fzflca1WxiZ1a0z1/IYUNvvpDySZi57eaZL@xRW2VNSUjHuYrb@UPi8AZD1UlSIs/QYMqTXHLqWC5v3XQkqy5nZ8VxmuthzD1rRD5A9buc5roGxhe@J5xbAcO8rvcbfkqJhb4XikAnMveVsdI9UjYKNWsxgI6zp2GIVFsy3UDK9V5Z7GCnJAzGtRMzKCFbAs6v8uf9rYtW95tXYCjb62h6asrXbAsctJpE/PkvLH2bwRZPRiYnX99xHfox8uQNn0z34iNA049cq7DNb9l8fJwEP9gSnCuuIRseYpMXLsyt0ZS8V6@IYHlb@c9EqeYVCKZBj1y3OTA3ihhCXjAh/fe08mUtkZ0959a3VUO6oa565je/QTREhxkskG@RCWKIlG4r5bdYtBUbpa7l0GkSk7mDx9eIkN2vthMGuRcX17s2aXugc4TxzTrkS//GrxBqth0DjW9KcGBgG5g1U3sfMawc1pAden1bAiSG3LV0ZBYk/rnKrV5mWaFxaLi765FLXyzTpgcC20JuAHOswJpiWtjyvvVMUrgaW5yIH@0uh9plFRG2BccYXHYpvA/pg6ojTijhS29/1ybMVWXp9048ESBIcDZvsRk5Txv@6e0W66Keu7FTx@PS1aAf9I1LgG9SFcSwKQGta0ujnUcXzR1C4ne4qUcn/JnhxR@7GYEd8QXzT4BxAcUDvlKswcPjfyeEFzFDhFXyGQRhE3G8xeT8@ed189aOzdf06bim8LMh2l5t@gzS8SIErgSxrwsyfKHaxTjrmSaVk3dvpYlNA9K2gvGJn7Thkf3u@6dnl4kLuWnBhz@wMAkJnhsuKz/e/nJ8S0wThsv5ddOZJl/sW6AKL8hRh@sWRtqo6Gp2av0rqVIiYXoFxnJ1960aVx9Z//dPNyp/f3pcNR22mPIF6x@GfFf4Na9rPVlB60SHSPERB80euUpbASipP5QjTjt7TJAY5/KJUPpTGHBSTYSTHQmQfFqT2@q8AZ@lD6aW6RMP8IX9LKsojBeIsmgz45REf/FRKhfnVQ90y@soPc4Ki3Mhx9MnuQWHgwtS59QkCCbSe0a5dNFIZbMvZ@caqG8XMtaIVaAslzmZd4sbH2YXw9lgNSup17LbOQRhEbbC1P358HTyGyxlG306HQirFqeawdhg13I6YIZmz05zeREur@JBVoGViRWWxqzR@2PArw36UngI6Mg57URPPSbAY2Nff7nHxrLhQUL/yafbkTHorGlRFol2zh9gT3oJtsWrmejN1e5qfQ5tiYN6SaJ4Ow9vlN5w0SKKGrcpK2Vei4VyLAzid5@atrDI/34FquG3it8Wnve8bAaq2oB/wAL8mKktl/Fs40y2ygztHsSMiYY6BEbkj0dKWXX1M6wvSQS@saFu/vNxh3f965jPh4xC5YASSKDQ0a5D0YGrasryM3arJyC0PMBQZ4FSkYbntNi3kIrqJ4tGm/KW9SOECpAfmvEXl/uFaM/wZkyKlh2CjQs5ugKMlhLQcfLgzq11QiUOvLi3Y6PRlpeYSKOajrdo3v4U7aIdiakPInOnuthzYmFALTXnfra5uHnDxyNWym308lBmgp0uyc2voU="
		 	,"0400GP3AxROZu5DjK9GFecOQi@66i4G7AD/epYyI08HgY9ZP/TYA2dnWSPslWQtIbk9@VonC5jYL5kWf1NzO/e/Za@bHa83CDZB61v1dHhA@Z8mUw9Q3MrBHN/JtFYKIsXiDxBza8j1B4ivoH/BvhzBTyhOXOrhdJk4ypx285qKQ3aopQs/EGzmZL42zoUeUC6vGodztygBGzPwbsZUct7Q/ZWtGMuSZx2KT7rqLgbsAP96ljIjTweBj1k/9NgDZ2dZI@yVZC0huT35WicLmNgvmRZ/U3M7979lrwKr0Mf@ogWb3WmfvVlSAmcSS6Z3mZ2VXZvXcwGXpJNwgrBH5xvykmUPKtcSzTI8WVjvZb2sSI@UJjb6PWATewdLApGzhemEP2kBIAFVuhzI6vf5nQtRNfYakyjurCDela/xVuIwwZPxJdsQX44Feqln7RT2cIt7/Jk4ZVxPZuvIJ3tizGxh7Mqq56w8E1D/Aq/74rajwNhEd@hmEhxHk9NUTqzU1Qqk6Cxat4vxW3oLuXSDRh4H9eWZ7@EnMfC4L6@vWkemCx8WCIUo6xdxIguMWKMg1L34xYK0mmSbEolzrMCbyn4bY9GA73rYZtIsVWgT@Kx4Epa2zQm@3qhD9kp8XBuVSYSl4ziHA3t4riiNjc7VnhLpRA5b/57l0F0Brrc0Tckh7/d5/PjsbhNmiTfHBQm916StC15tFwbb5NkVtrNHzt95ePgXs@oQQc60trrGto44dFZ/k0B48ux@V4SxwhwBmNydI6S6la0lc7CNSwejOX5dhKDBAKBIrRLbRVKNQ0ZFLTxgkEHNS@shbWhtMSGGlyh1@eFUoW2PhFQTNfSEze0AnG1q44NyGTZasfYs6ZVAotR2odXyUKxUgVtZ@@LaXDquIDX8icOWPZcy4Xo6JR@o8uNh2BeaMmRyX73p8gr2HwTukBkdIckGeb9MIPntbiL1sOENgY4kVU9wB84@POrI4MkoD4iHJ5a1Qmz61zhzFB1cmuxfCytyYYcjwjs5Ca2/wBdhim9vK/UsQ5XOYm0OqKbAtjgzHMGAkLTLkEN4L7EfI8I7OQmtv8AXYYpvbyv1LEOVzmJtDqimwLY4MxzBgJC0y5BDeC@xHyPCOzkJrb/AF2GKb28r9SxfwKMcRIoeJtvb3n2nbY@LqW9TJIZnh2J8UIS8xP1xzpdqSgJrtcJbn4KW2br@bRU8xAXTS4l7DQtPYEf0PHxk1gG7@dJK6MAX8iYyy5jvSS4e4f0GE7S14ZEmq5OOykKuB5xKjTqLNXOp4yYEIf@L1yYqstDFzEDk4TYqQ5l7/SNfOTvsgtn95SxDtE2suujWRMoizXj3piSkiHcDvTuWbZ7blJBujU29QQ8SB0kvUX17s2aXugc5sIDgJ9mgQp@ZjVekMYG3JYXyFHBbsmyyzb0vSwWRA@aB5TScxRmXsPX01cXy7DqXkSsOi1EdXr7b2959p22PiGQ3gWGOkn04SjVAS/i3NCe9ub4JdkV8nUvQPAuo2LgKAC3SfR7deSLSUZpybFcXA9SHJSmUeiL0S5tTxl89lfBmtXv5e6tc48Uo0G0fnJb@qMXriBvz/IpZ5p1ZT3JYWp5dv7AxCQoQI1JkXIB6wRgUwblNTq6tU52FjdzrK4ZGbKK5VK8yjXvjQEWsxBrTE4gmKZsRitJJdWsji7DqFyUIqLtTiNNbCiynsbWM73MdfJbPdN9GgR85xQcX7FPBuhJAnQ6FZeOCYHXmRxu7HZ6J@jwZYl5QNjPTU9xUgoW//FfHPmIcnYaLjAvlkC6ix5GwMchIozX0BgkGiZF1OxvQxv2WDQUOQqbmeBo9e9SXb8RzWdzZK4bduoeAODFWWn@P0HNw3kOyAmeNHH6@w6rv@udKval8xr2HY5lvNHF39kR7UHxL1GdM/J1VPiftnLGrYJLffAJP3oau8Z0bmeaMKVEtXs/BN0wJYkmvau4AHJxysm6xar1EfpEWqrnmEn6y0xnt9ZdprkRUGarmU@g/9uCzos/YQ2WYxbUoIN09uleO4vjWRK5Cn/KpvXCpRfU7YASyknhdj7UN/EZ4b35TAk7I/k3MB360d7Me70LAc9BYG1p/QUAIePr/pfpk5gItuFfVAa8OYVYmFpL6c7cAhgfR41CwecUX1NQwTkkI241r4GHSz17y4a9qwALoCjOsmKv41B5TSLD6V3Jm36yTufJ5qUaB4St/nl@7eE0sSsgFb9TByCUnBxx4iGnUn@69VdSV0LIuaooOMGNrEN7mO/Pq3N/TloZoKlP3jKLjErKUFqx3sGVBpKL6FKxw5xwdDrJLQxBs8pTn2MB9EpiMYDLItJ4cUoL5UYylPcI8PaIm7c2Ccow/ir@3qKYyvKNOv8wR7fSRixOuW3bo1h01EdThRZ5Z0PZteNralKVGcIhrVYMaxRDRhwaE@r2obYef3dzx5p51@SjFXwCBBmVj7w1@RRbL3oEjSb4Rxzr11q32vxSDr8CPy@k6IcWvR65uQoIi8qHnZhVVwmmOhKrgVo5SMCESLWt6WOljklFzKRcnqU2QVbRxhcdim8D@mIGliZufAPDP/XJsxVZen3TjwRIEhwNm@cYN3O2iHR45brop67sVPH49LVoB/0jUutR9JsCkWB4op7J6Kn9LeotZ@@LaXDquIvyFwbYeI4HU9/8RuubIM@JGIg44UYNqyxUCF@cs6Nc6owTq0gYWuPLcw2q8d/yasjDpdxw07U@MAyANtPiQCjt4ITNWvrgwVFg50vNHValDfYj8kE0aqrIwdcOMsjwHWa4u9wAGjUAyx9l78yyPZdre3pfrCeEpCTJHFh0ePCsf28TuyfKa6ZPP0@gXVludpqwj1o8ldtlUBvUhXEsCkBoFkb32rQ6IzKEoGgEgONTZTuX8GLFI8uYdysBfOiSDyV2B7rPJbXl6XD@TOK5FdSxUllRJIDDKRIQ48yZKzJjV7UB241onEXOnqKnKPB6Bq45V@eMyTtX9tsnGK@RDqL4Js28Eh6YBuAYDxfbkr5OH7kXs8zFx@ed3hPdYfSIN0pcoGBZiMMvanUV1ZIGOXzrEfVk9EjAzqJqKR0TY3@IFKO/MIU5@sag==;0400VTMEVHGZBqEpIfq2LLtL/UWZiZsrZ72TwVBmUP9mFzwCP3I/gtJSIJV5spq18yMgQ41GAH0Am9NW2u38y6P/SaChuGoppCp1v2Crh3a6jSn1XTjSBB7M7hQxdGMD32yXZOY6osDdKdHD5pKAC4d@yfAtGo8A/Tvfd3CqZJar4zrBSSfO2zqgxdA4AdT/pFJuoH0kGGtCQ@/V4d@RnQegnNK3Sga2t5uGnCQVn3a9G6LMUG/DIrev3V1@9kQkJ9LIlU99UoH2xkl1BzqzgvMo2QcugzVXRynOolce3IxJD5qpSD8fpFwpjIK3aNhMvNKmWeia3UgCHAlO1Tp84e7/t8PmkoALh37J8C0ajwD9O993cKpklqvjOsFJJ87bOqDF0DgB1P@kUm6gfSQYa0JD7@9RJsn4u3PdHf7WUtiodkTaF5lQuVmMOCYs7V8rm0JKU/MnosPR0clv47mN@mlXbyMw@UhFUJmof4YeNRwRVA43z6JbpfGMIHmHDbzhrA1ejKeL71Mgr@yTxyZvEMrgKWawANUy46uBat3xgGu29B1@sb9MTFcLJ03x5MyScXfKlpBLguUejHPVpvaGyWpJU/wiBPJqj578CyaSdhLQpHC3e2thJvGFdtvc@a2XXRX8t0rI3RXuOPT5xjvaM5kgXXTUKQi/6ZhLmPztxzEXzNQCwRvkp0e1JWOT7uz0h46XUvQPAuo2LgKAC3SfR7deSLSUZpybFcXAwnHsdGqhD2ontsI9JDzbcqf9mM3@w9ZIJOLq7WBMpXl53I96WzuNwWUdUHpyGsju7yZHbT@hap8T0tJPmnbeZTC3o7rRuIcSlu1jV/KiKo0oDvlKqcW/vgHzj486sjgyUO@AInpd@UykzlhvKatVjussydRjZjLjFmQWppRl6Bv4pp48B2PR0LUM6Rn3JtHEfF9hXdZ4DRRiwxmZVjl9I7yC020QjFmKQSlTXXz38W@7rzbxH0ZCbqQct2fIUhDB51W@7h4F0BmqCMhOtBVzKv7F9SjGl3IQDIKINVrQrNJJ7TMAwER7lc3X8S8pWAYm7BFQVjvF0CKqWvTbz/c@r@/1pHv1njVwdKitZH4kQFI57RHFZltZDFd6oX/FlTt1kp62yUjciLFMARxe4EU9XeeRU0mQTUFrFFAN6Q1x80UdCdGdyqwwbTKdeSg4P@ujHRH29E2Pl68vN0XpeFtRxxRQDekNcfNFHQnRncqsMG0ynXkoOD/rox0R9vRNj5evLzdF6XhbUccUUA3pDXHzRR0J0Z3KrDBtoN6ijYgbJ3ZjjZSkBTBViCtv5Q@LwBkPj2qku3ZkvzkAM9dbBROeNQfbQD1p@KEcV6i8/tb5alAK/XRNo3H5dNOHjs7HO5CL//li8nYbsqLpi94ovlsN66Bx0NdEKXmvrI3MaSYrgzshIqKrjK@gdyAFUwN05hXzcycRhS8EwApMRV0YmXEHAJzxpxtwqoC5Z/uCi7ME8loQwLLSzeFEuVfe4edP@YyrEsp6nSACJCb173n9g@i/wRtn66qWWvpVoOXUWxljyPAVpcqq3kfmP7OgSQ0Fzflca1WxiZ1a0z1/IYUNvvpDySZi57eaZL@xRW2VNSUjHuYrb@UPi8AZD1UlSIs/QYMqTXHLqWC5v3XQkqy5nZ8VxmuthzD1rRD5A9buc5roGxhe@J5xbAcO8rvcbfkqJhb4XikAnMveVsdI9UjYKNWsxgI6zp2GIVFsy3UDK9V5Z7GCnJAzGtRMzKCFbAs6v8uf9rYtW95tXYCjb62h6asrXbAsctJpE/PkvLH2bwRZPRiYnX99xHfox8uQNn0z34iNA049cq7DNb9l8fJwEP9gSnCuuIRseYpMXLsyt0ZS8V6@IYHlb@c9EqeYVCKZBj1y3OTA3ihhCXjAh/fe08mUtkZ0959a3VUO6oa565je/QTREhxkskG@RCWKIlG4r5bdYtBUbpa7l0GkSk7mDx9eIkN2vthMGuRcX17s2aXugc4TxzTrkS//GrxBqth0DjW9KcGBgG5g1U3sfMawc1pAden1bAiSG3LV0ZBYk/rnKrV5mWaFxaLi765FLXyzTpgcC20JuAHOswJpiWtjyvvVMUrgaW5yIH@0uh9plFRG2BccYXHYpvA/pg6ojTijhS29/1ybMVWXp9048ESBIcDZvsRk5Txv@6e0W66Keu7FTx@PS1aAf9I1LgG9SFcSwKQGta0ujnUcXzR1C4ne4qUcn/JnhxR@7GYEd8QXzT4BxAcUDvlKswcPjfyeEFzFDhFXyGQRhE3G8xeT8@ed189aOzdf06bim8LMh2l5t@gzS8SIErgSxrwsyfKHaxTjrmSaVk3dvpYlNA9K2gvGJn7Thkf3u@6dnl4kLuWnBhz@wMAkJnhsuKz/e/nJ8S0wThsv5ddOZJl/sW6AKL8hRh@sWRtqo6Gp2av0rqVIiYXoFxnJ1960aVx9Z//dPNyp/f3pcNR22mPIF6x@GfFf4Na9rPVlB60SHSPERB80euUpbASipP5QjTjt7TJAY5/KJUPpTGHBSTYSTHQmQfFqT2@q8AZ@lD6aW6RMP8IX9LKsojBeIsmgz45REf/FRKhfnVQ90y@soPc4Ki3Mhx9MnuQWHgwtS59QkCCbSe0a5dNFIZbMvZ@caqG8XMtaIVaAslzmZd4sbH2YXw9lgNSup17LbOQRhEbbC1P358HTyGyxlG306HQirFqeawdhg13I6YIZmz05zeREur@JBVoGViRWWxqzR@2PArw36UngI6Mg57URPPSbAY2Nff7nHxrLhQUL/yafbkTHorGlRFol2zh9gT3oJtsWrmejN1e5qfQ5tiYN6SaJ4Ow9vlN5w0SKKGrcpK2Vei4VyLAzid5@atrDI/34FquG3it8Wnve8bAaq2oB/wAL8mKktl/Fs40y2ygztHsSMiYY6BEbkj0dKWXX1M6wvSQS@saFu/vNxh3f965jPh4xC5YASSKDQ0a5D0YGrasryM3arJyC0PMBQZ4FSkYbntNi3kIrqJ4tGm/KW9SOECpAfmvEXl/uFaM/wZkyKlh2CjQs5ugKMlhLQcfLgzq11QiUOvLi3Y6PRlpeYSKOajrdo3v4U7aIdiakPInOnuthzYmFALTXnfra5uHnDxyNWym308lBmgp0uyc2voU="
			,"0400GP3AxROZu5DjK9GFecOQi@66i4G7AD/epYyI08HgY9ZP/TYA2dnWSPslWQtIbk9@VonC5jYL5kWf1NzO/e/Za@bHa83CDZB61v1dHhA@Z8mUw9Q3MrBHN/JtFYKIsXiDxBza8j1B4ivoH/BvhzBTyhOXOrhdJk4ypx285qKQ3aopQs/EGzmZL42zoUeUC6vGodztygBGzPwbsZUct7Q/ZWtGMuSZx2KT7rqLgbsAP96ljIjTweBj1k/9NgDZ2dZI@yVZC0huT35WicLmNgvmRZ/U3M7979lrwKr0Mf@ogWb3WmfvVlSAmcSS6Z3mZ2VXZvXcwGXpJNwgrBH5xvykmUPKtcSzTI8WVjvZb2sSI@UJjb6PWATewdLApGzhemEP2kBIAFVuhzI6vf5nQtRNfYakyjurCDela/xVuIwwZPxJdsQX44Feqln7RT2cIt7/Jk4ZVxPZuvIJ3tizGxh7Mqq56w8E1D/Aq/74rajwNhEd@hmEhxHk9NUTqzU1Qqk6Cxat4vxW3oLuXSDRh4H9eWZ7@EnMfC4L6@vWkemCx8WCIUo6xdxIguMWKMg1L34xYK0mmSbEolzrMCbyn4bY9GA73rYZtIsVWgT@Kx4Epa2zQm@3qhD9kp8XBuVSYSl4ziHA3t4riiNjc7VnhLpRA5b/57l0F0Brrc0Tckh7/d5/PjsbhNmiTfHBQm916StC15tFwbb5NkVtrNHzt95ePgXs@oQQc60trrGto44dFZ/k0B48ux@V4SxwhwBmNydI6S6la0lc7CNSwejOX5dhKDBAKBIrRLbRVKNQ0ZFLTxgkEHNS@shbWhtMSGGlyh1@eFUoW2PhFQTNfSEze0AnG1q44NyGTZasfYs6ZVAotR2odXyUKxUgVtZ@@LaXDquIDX8icOWPZcy4Xo6JR@o8uNh2BeaMmRyX73p8gr2HwTukBkdIckGeb9MIPntbiL1sOENgY4kVU9wB84@POrI4MkoD4iHJ5a1Qmz61zhzFB1cmuxfCytyYYcjwjs5Ca2/wBdhim9vK/UsQ5XOYm0OqKbAtjgzHMGAkLTLkEN4L7EfI8I7OQmtv8AXYYpvbyv1LEOVzmJtDqimwLY4MxzBgJC0y5BDeC@xHyPCOzkJrb/AF2GKb28r9SxfwKMcRIoeJtvb3n2nbY@LqW9TJIZnh2J8UIS8xP1xzpdqSgJrtcJbn4KW2br@bRU8xAXTS4l7DQtPYEf0PHxk1gG7@dJK6MAX8iYyy5jvSS4e4f0GE7S14ZEmq5OOykKuB5xKjTqLNXOp4yYEIf@L1yYqstDFzEDk4TYqQ5l7/SNfOTvsgtn95SxDtE2suujWRMoizXj3piSkiHcDvTuWbZ7blJBujU29QQ8SB0kvUX17s2aXugc5sIDgJ9mgQp@ZjVekMYG3JYXyFHBbsmyyzb0vSwWRA@aB5TScxRmXsPX01cXy7DqXkSsOi1EdXr7b2959p22PiGQ3gWGOkn04SjVAS/i3NCe9ub4JdkV8nUvQPAuo2LgKAC3SfR7deSLSUZpybFcXA9SHJSmUeiL0S5tTxl89lfBmtXv5e6tc48Uo0G0fnJb@qMXriBvz/IpZ5p1ZT3JYWp5dv7AxCQoQI1JkXIB6wRgUwblNTq6tU52FjdzrK4ZGbKK5VK8yjXvjQEWsxBrTE4gmKZsRitJJdWsji7DqFyUIqLtTiNNbCiynsbWM73MdfJbPdN9GgR85xQcX7FPBuhJAnQ6FZeOCYHXmRxu7HZ6J@jwZYl5QNjPTU9xUgoW//FfHPmIcnYaLjAvlkC6ix5GwMchIozX0BgkGiZF1OxvQxv2WDQUOQqbmeBo9e9SXb8RzWdzZK4bduoeAODFWWn@P0HNw3kOyAmeNHH6@w6rv@udKval8xr2HY5lvNHF39kR7UHxL1GdM/J1VPiftnLGrYJLffAJP3oau8Z0bmeaMKVEtXs/BN0wJYkmvau4AHJxysm6xar1EfpEWqrnmEn6y0xnt9ZdprkRUGarmU@g/9uCzos/YQ2WYxbUoIN09uleO4vjWRK5Cn/KpvXCpRfU7YASyknhdj7UN/EZ4b35TAk7I/k3MB360d7Me70LAc9BYG1p/QUAIePr/pfpk5gItuFfVAa8OYVYmFpL6c7cAhgfR41CwecUX1NQwTkkI241r4GHSz17y4a9qwALoCjOsmKv41B5TSLD6V3Jm36yTufJ5qUaB4St/nl@7eE0sSsgFb9TByCUnBxx4iGnUn@69VdSV0LIuaooOMGNrEN7mO/Pq3N/TloZoKlP3jKLjErKUFqx3sGVBpKL6FKxw5xwdDrJLQxBs8pTn2MB9EpiMYDLItJ4cUoL5UYylPcI8PaIm7c2Ccow/ir@3qKYyvKNOv8wR7fSRixOuW3bo1h01EdThRZ5Z0PZteNralKVGcIhrVYMaxRDRhwaE@r2obYef3dzx5p51@SjFXwCBBmVj7w1@RRbL3oEjSb4Rxzr11q32vxSDr8CPy@k6IcWvR65uQoIi8qHnZhVVwmmOhKrgVo5SMCESLWt6WOljklFzKRcnqU2QVbRxhcdim8D@mIGliZufAPDP/XJsxVZen3TjwRIEhwNm@cYN3O2iHR45brop67sVPH49LVoB/0jUutR9JsCkWB4op7J6Kn9LeotZ@@LaXDquIvyFwbYeI4HU9/8RuubIM@JGIg44UYNqyxUCF@cs6Nc6owTq0gYWuPLcw2q8d/yasjDpdxw07U@MAyANtPiQCjt4ITNWvrgwVFg50vNHValDfYj8kE0aqrIwdcOMsjwHWa4u9wAGjUAyx9l78yyPZdre3pfrCeEpCTJHFh0ePCsf28TuyfKa6ZPP0@gXVludpqwj1o8ldtlUBvUhXEsCkBoFkb32rQ6IzKEoGgEgONTZTuX8GLFI8uYdysBfOiSDyV2B7rPJbXl6XD@TOK5FdSxUllRJIDDKRIQ48yZKzJjV7UB241onEXOnqKnKPB6Bq45V@eMyTtX9tsnGK@RDqL4Js28Eh6YBuAYDxfbkr5OH7kXs8zFx@ed3hPdYfSIN0pcoGBZiMMvanUV1ZIGOXzrEfVk9EjAzqJqKR0TY3@IFKO/MIU5@sag==;0400VTMEVHGZBqEpIfq2LLtL/UWZiZsrZ72TwVBmUP9mFzwCP3I/gtJSIJV5spq18yMgQ41GAH0Am9NW2u38y6P/SaChuGoppCp1v2Crh3a6jSn1XTjSBB7M7hQxdGMD32yXZOY6osDdKdHD5pKAC4d@yfAtGo8A/Tvfd3CqZJar4zrBSSfO2zqgxdA4AdT/pFJuoH0kGGtCQ@/V4d@RnQegnNK3Sga2t5uGnCQVn3a9G6LMUG/DIrev3V1@9kQkJ9LIlU99UoH2xkl1BzqzgvMo2QcugzVXRynOolce3IxJD5qpSD8fpFwpjIK3aNhMvNKmWeia3UgCHAlO1Tp84e7/t8PmkoALh37J8C0ajwD9O993cKpklqvjOsFJJ87bOqDF0DgB1P@kUm6gfSQYa0JD7@9RJsn4u3PdHf7WUtiodkTaF5lQuVmMOCYs7V8rm0JKU/MnosPR0clv47mN@mlXbyMw@UhFUJmof4YeNRwRVA43z6JbpfGMIHmHDbzhrA1ejKeL71Mgr@yTxyZvEMrgKWawANUy46uBat3xgGu29B1@sb9MTFcLJ03x5MyScXfKlpBLguUejHPVpvaGyWpJU/wiBPJqj578CyaSdhLQpHC3e2thJvGFdtvc@a2XXRX8t0rI3RXuOPT5xjvaM5kgXXTUKQi/6ZhLmPztxzEXzNQCwRvkp0e1JWOT7uz0h46XUvQPAuo2LgKAC3SfR7deSLSUZpybFcXAwnHsdGqhD2ontsI9JDzbcqf9mM3@w9ZIJOLq7WBMpXl53I96WzuNwWUdUHpyGsju7yZHbT@hap8T0tJPmnbeZTC3o7rRuIcSlu1jV/KiKo0oDvlKqcW/vgHzj486sjgyUO@AInpd@UykzlhvKatVjussydRjZjLjFmQWppRl6Bv4pp48B2PR0LUM6Rn3JtHEfF9hXdZ4DRRiwxmZVjl9I7yC020QjFmKQSlTXXz38W@7rzbxH0ZCbqQct2fIUhDB51W@7h4F0BmqCMhOtBVzKv7F9SjGl3IQDIKINVrQrNJJ7TMAwER7lc3X8S8pWAYm7BFQVjvF0CKqWvTbz/c@r@/1pHv1njVwdKitZH4kQFI57RHFZltZDFd6oX/FlTt1kp62yUjciLFMARxe4EU9XeeRU0mQTUFrFFAN6Q1x80UdCdGdyqwwbTKdeSg4P@ujHRH29E2Pl68vN0XpeFtRxxRQDekNcfNFHQnRncqsMG0ynXkoOD/rox0R9vRNj5evLzdF6XhbUccUUA3pDXHzRR0J0Z3KrDBtoN6ijYgbJ3ZjjZSkBTBViCtv5Q@LwBkPj2qku3ZkvzkAM9dbBROeNQfbQD1p@KEcV6i8/tb5alAK/XRNo3H5dNOHjs7HO5CL//li8nYbsqLpi94ovlsN66Bx0NdEKXmvrI3MaSYrgzshIqKrjK@gdyAFUwN05hXzcycRhS8EwApMRV0YmXEHAJzxpxtwqoC5Z/uCi7ME8loQwLLSzeFEuVfe4edP@YyrEsp6nSACJCb173n9g@i/wRtn66qWWvpVoOXUWxljyPAVpcqq3kfmP7OgSQ0Fzflca1WxiZ1a0z1/IYUNvvpDySZi57eaZL@xRW2VNSUjHuYrb@UPi8AZD1UlSIs/QYMqTXHLqWC5v3XQkqy5nZ8VxmuthzD1rRD5A9buc5roGxhe@J5xbAcO8rvcbfkqJhb4XikAnMveVsdI9UjYKNWsxgI6zp2GIVFsy3UDK9V5Z7GCnJAzGtRMzKCFbAs6v8uf9rYtW95tXYCjb62h6asrXbAsctJpE/PkvLH2bwRZPRiYnX99xHfox8uQNn0z34iNA049cq7DNb9l8fJwEP9gSnCuuIRseYpMXLsyt0ZS8V6@IYHlb@c9EqeYVCKZBj1y3OTA3ihhCXjAh/fe08mUtkZ0959a3VUO6oa565je/QTREhxkskG@RCWKIlG4r5bdYtBUbpa7l0GkSk7mDx9eIkN2vthMGuRcX17s2aXugc4TxzTrkS//GrxBqth0DjW9KcGBgG5g1U3sfMawc1pAden1bAiSG3LV0ZBYk/rnKrV5mWaFxaLi765FLXyzTpgcC20JuAHOswJpiWtjyvvVMUrgaW5yIH@0uh9plFRG2BccYXHYpvA/pg6ojTijhS29/1ybMVWXp9048ESBIcDZvsRk5Txv@6e0W66Keu7FTx@PS1aAf9I1LgG9SFcSwKQGta0ujnUcXzR1C4ne4qUcn/JnhxR@7GYEd8QXzT4BxAcUDvlKswcPjfyeEFzFDhFXyGQRhE3G8xeT8@ed189aOzdf06bim8LMh2l5t@gzS8SIErgSxrwsyfKHaxTjrmSaVk3dvpYlNA9K2gvGJn7Thkf3u@6dnl4kLuWnBhz@wMAkJnhsuKz/e/nJ8S0wThsv5ddOZJl/sW6AKL8hRh@sWRtqo6Gp2av0rqVIiYXoFxnJ1960aVx9Z//dPNyp/f3pcNR22mPIF6x@GfFf4Na9rPVlB60SHSPERB80euUpbASipP5QjTjt7TJAY5/KJUPpTGHBSTYSTHQmQfFqT2@q8AZ@lD6aW6RMP8IX9LKsojBeIsmgz45REf/FRKhfnVQ90y@soPc4Ki3Mhx9MnuQWHgwtS59QkCCbSe0a5dNFIZbMvZ@caqG8XMtaIVaAslzmZd4sbH2YXw9lgNSup17LbOQRhEbbC1P358HTyGyxlG306HQirFqeawdhg13I6YIZmz05zeREur@JBVoGViRWWxqzR@2PArw36UngI6Mg57URPPSbAY2Nff7nHxrLhQUL/yafbkTHorGlRFol2zh9gT3oJtsWrmejN1e5qfQ5tiYN6SaJ4Ow9vlN5w0SKKGrcpK2Vei4VyLAzid5@atrDI/34FquG3it8Wnve8bAaq2oB/wAL8mKktl/Fs40y2ygztHsSMiYY6BEbkj0dKWXX1M6wvSQS@saFu/vNxh3f965jPh4xC5YASSKDQ0a5D0YGrasryM3arJyC0PMBQZ4FSkYbntNi3kIrqJ4tGm/KW9SOECpAfmvEXl/uFaM/wZkyKlh2CjQs5ugKMlhLQcfLgzq11QiUOvLi3Y6PRlpeYSKOajrdo3v4U7aIdiakPInOnuthzYmFALTXnfra5uHnDxyNWym308lBmgp0uyc2voU="
			,"0400GP3AxROZu5DjK9GFecOQi@66i4G7AD/epYyI08HgY9ZP/TYA2dnWSPslWQtIbk9@VonC5jYL5kWf1NzO/e/Za@bHa83CDZB61v1dHhA@Z8mUw9Q3MrBHN/JtFYKIsXiDxBza8j1B4ivoH/BvhzBTyhOXOrhdJk4ypx285qKQ3aopQs/EGzmZL42zoUeUC6vGodztygBGzPwbsZUct7Q/ZWtGMuSZx2KT7rqLgbsAP96ljIjTweBj1k/9NgDZ2dZI@yVZC0huT35WicLmNgvmRZ/U3M7979lrwKr0Mf@ogWb3WmfvVlSAmcSS6Z3mZ2VXZvXcwGXpJNwgrBH5xvykmUPKtcSzTI8WVjvZb2sSI@UJjb6PWATewdLApGzhemEP2kBIAFVuhzI6vf5nQtRNfYakyjurCDela/xVuIwwZPxJdsQX44Feqln7RT2cIt7/Jk4ZVxPZuvIJ3tizGxh7Mqq56w8E1D/Aq/74rajwNhEd@hmEhxHk9NUTqzU1Qqk6Cxat4vxW3oLuXSDRh4H9eWZ7@EnMfC4L6@vWkemCx8WCIUo6xdxIguMWKMg1L34xYK0mmSbEolzrMCbyn4bY9GA73rYZtIsVWgT@Kx4Epa2zQm@3qhD9kp8XBuVSYSl4ziHA3t4riiNjc7VnhLpRA5b/57l0F0Brrc0Tckh7/d5/PjsbhNmiTfHBQm916StC15tFwbb5NkVtrNHzt95ePgXs@oQQc60trrGto44dFZ/k0B48ux@V4SxwhwBmNydI6S6la0lc7CNSwejOX5dhKDBAKBIrRLbRVKNQ0ZFLTxgkEHNS@shbWhtMSGGlyh1@eFUoW2PhFQTNfSEze0AnG1q44NyGTZasfYs6ZVAotR2odXyUKxUgVtZ@@LaXDquIDX8icOWPZcy4Xo6JR@o8uNh2BeaMmRyX73p8gr2HwTukBkdIckGeb9MIPntbiL1sOENgY4kVU9wB84@POrI4MkoD4iHJ5a1Qmz61zhzFB1cmuxfCytyYYcjwjs5Ca2/wBdhim9vK/UsQ5XOYm0OqKbAtjgzHMGAkLTLkEN4L7EfI8I7OQmtv8AXYYpvbyv1LEOVzmJtDqimwLY4MxzBgJC0y5BDeC@xHyPCOzkJrb/AF2GKb28r9SxfwKMcRIoeJtvb3n2nbY@LqW9TJIZnh2J8UIS8xP1xzpdqSgJrtcJbn4KW2br@bRU8xAXTS4l7DQtPYEf0PHxk1gG7@dJK6MAX8iYyy5jvSS4e4f0GE7S14ZEmq5OOykKuB5xKjTqLNXOp4yYEIf@L1yYqstDFzEDk4TYqQ5l7/SNfOTvsgtn95SxDtE2suujWRMoizXj3piSkiHcDvTuWbZ7blJBujU29QQ8SB0kvUX17s2aXugc5sIDgJ9mgQp@ZjVekMYG3JYXyFHBbsmyyzb0vSwWRA@aB5TScxRmXsPX01cXy7DqXkSsOi1EdXr7b2959p22PiGQ3gWGOkn04SjVAS/i3NCe9ub4JdkV8nUvQPAuo2LgKAC3SfR7deSLSUZpybFcXA9SHJSmUeiL0S5tTxl89lfBmtXv5e6tc48Uo0G0fnJb@qMXriBvz/IpZ5p1ZT3JYWp5dv7AxCQoQI1JkXIB6wRgUwblNTq6tU52FjdzrK4ZGbKK5VK8yjXvjQEWsxBrTE4gmKZsRitJJdWsji7DqFyUIqLtTiNNbCiynsbWM73MdfJbPdN9GgR85xQcX7FPBuhJAnQ6FZeOCYHXmRxu7HZ6J@jwZYl5QNjPTU9xUgoW//FfHPmIcnYaLjAvlkC6ix5GwMchIozX0BgkGiZF1OxvQxv2WDQUOQqbmeBo9e9SXb8RzWdzZK4bduoeAODFWWn@P0HNw3kOyAmeNHH6@w6rv@udKval8xr2HY5lvNHF39kR7UHxL1GdM/J1VPiftnLGrYJLffAJP3oau8Z0bmeaMKVEtXs/BN0wJYkmvau4AHJxysm6xar1EfpEWqrnmEn6y0xnt9ZdprkRUGarmU@g/9uCzos/YQ2WYxbUoIN09uleO4vjWRK5Cn/KpvXCpRfU7YASyknhdj7UN/EZ4b35TAk7I/k3MB360d7Me70LAc9BYG1p/QUAIePr/pfpk5gItuFfVAa8OYVYmFpL6c7cAhgfR41CwecUX1NQwTkkI241r4GHSz17y4a9qwALoCjOsmKv41B5TSLD6V3Jm36yTufJ5qUaB4St/nl@7eE0sSsgFb9TByCUnBxx4iGnUn@69VdSV0LIuaooOMGNrEN7mO/Pq3N/TloZoKlP3jKLjErKUFqx3sGVBpKL6FKxw5xwdDrJLQxBs8pTn2MB9EpiMYDLItJ4cUoL5UYylPcI8PaIm7c2Ccow/ir@3qKYyvKNOv8wR7fSRixOuW3bo1h01EdThRZ5Z0PZteNralKVGcIhrVYMaxRDRhwaE@r2obYef3dzx5p51@SjFXwCBBmVj7w1@RRbL3oEjSb4Rxzr11q32vxSDr8CPy@k6IcWvR65uQoIi8qHnZhVVwmmOhKrgVo5SMCESLWt6WOljklFzKRcnqU2QVbRxhcdim8D@mIGliZufAPDP/XJsxVZen3TjwRIEhwNm@cYN3O2iHR45brop67sVPH49LVoB/0jUutR9JsCkWB4op7J6Kn9LeotZ@@LaXDquIvyFwbYeI4HU9/8RuubIM@JGIg44UYNqyxUCF@cs6Nc6owTq0gYWuPLcw2q8d/yasjDpdxw07U@MAyANtPiQCjt4ITNWvrgwVFg50vNHValDfYj8kE0aqrIwdcOMsjwHWa4u9wAGjUAyx9l78yyPZdre3pfrCeEpCTJHFh0ePCsf28TuyfKa6ZPP0@gXVludpqwj1o8ldtlUBvUhXEsCkBoFkb32rQ6IzKEoGgEgONTZTuX8GLFI8uYdysBfOiSDyV2B7rPJbXl6XD@TOK5FdSxUllRJIDDKRIQ48yZKzJjV7UB241onEXOnqKnKPB6Bq45V@eMyTtX9tsnGK@RDqL4Js28Eh6YBuAYDxfbkr5OH7kXs8zFx@ed3hPdYfSIN0pcoGBZiMMvanUV1ZIGOXzrEfVk9EjAzqJqKR0TY3@IFKO/MIU5@sag==;0400VTMEVHGZBqEpIfq2LLtL/UWZiZsrZ72TwVBmUP9mFzwCP3I/gtJSIJV5spq18yMgQ41GAH0Am9NW2u38y6P/SaChuGoppCp1v2Crh3a6jSn1XTjSBB7M7hQxdGMD32yXZOY6osDdKdHD5pKAC4d@yfAtGo8A/Tvfd3CqZJar4zrBSSfO2zqgxdA4AdT/pFJuoH0kGGtCQ@/V4d@RnQegnNK3Sga2t5uGnCQVn3a9G6LMUG/DIrev3V1@9kQkJ9LIlU99UoH2xkl1BzqzgvMo2QcugzVXRynOolce3IxJD5qpSD8fpFwpjIK3aNhMvNKmWeia3UgCHAlO1Tp84e7/t8PmkoALh37J8C0ajwD9O993cKpklqvjOsFJJ87bOqDF0DgB1P@kUm6gfSQYa0JD7@9RJsn4u3PdHf7WUtiodkTaF5lQuVmMOCYs7V8rm0JKU/MnosPR0clv47mN@mlXbyMw@UhFUJmof4YeNRwRVA43z6JbpfGMIHmHDbzhrA1ejKeL71Mgr@yTxyZvEMrgKWawANUy46uBat3xgGu29B1@sb9MTFcLJ03x5MyScXfKlpBLguUejHPVpvaGyWpJU/wiBPJqj578CyaSdhLQpHC3e2thJvGFdtvc@a2XXRX8t0rI3RXuOPT5xjvaM5kgXXTUKQi/6ZhLmPztxzEXzNQCwRvkp0e1JWOT7uz0h46XUvQPAuo2LgKAC3SfR7deSLSUZpybFcXAwnHsdGqhD2ontsI9JDzbcqf9mM3@w9ZIJOLq7WBMpXl53I96WzuNwWUdUHpyGsju7yZHbT@hap8T0tJPmnbeZTC3o7rRuIcSlu1jV/KiKo0oDvlKqcW/vgHzj486sjgyUO@AInpd@UykzlhvKatVjussydRjZjLjFmQWppRl6Bv4pp48B2PR0LUM6Rn3JtHEfF9hXdZ4DRRiwxmZVjl9I7yC020QjFmKQSlTXXz38W@7rzbxH0ZCbqQct2fIUhDB51W@7h4F0BmqCMhOtBVzKv7F9SjGl3IQDIKINVrQrNJJ7TMAwER7lc3X8S8pWAYm7BFQVjvF0CKqWvTbz/c@r@/1pHv1njVwdKitZH4kQFI57RHFZltZDFd6oX/FlTt1kp62yUjciLFMARxe4EU9XeeRU0mQTUFrFFAN6Q1x80UdCdGdyqwwbTKdeSg4P@ujHRH29E2Pl68vN0XpeFtRxxRQDekNcfNFHQnRncqsMG0ynXkoOD/rox0R9vRNj5evLzdF6XhbUccUUA3pDXHzRR0J0Z3KrDBtoN6ijYgbJ3ZjjZSkBTBViCtv5Q@LwBkPj2qku3ZkvzkAM9dbBROeNQfbQD1p@KEcV6i8/tb5alAK/XRNo3H5dNOHjs7HO5CL//li8nYbsqLpi94ovlsN66Bx0NdEKXmvrI3MaSYrgzshIqKrjK@gdyAFUwN05hXzcycRhS8EwApMRV0YmXEHAJzxpxtwqoC5Z/uCi7ME8loQwLLSzeFEuVfe4edP@YyrEsp6nSACJCb173n9g@i/wRtn66qWWvpVoOXUWxljyPAVpcqq3kfmP7OgSQ0Fzflca1WxiZ1a0z1/IYUNvvpDySZi57eaZL@xRW2VNSUjHuYrb@UPi8AZD1UlSIs/QYMqTXHLqWC5v3XQkqy5nZ8VxmuthzD1rRD5A9buc5roGxhe@J5xbAcO8rvcbfkqJhb4XikAnMveVsdI9UjYKNWsxgI6zp2GIVFsy3UDK9V5Z7GCnJAzGtRMzKCFbAs6v8uf9rYtW95tXYCjb62h6asrXbAsctJpE/PkvLH2bwRZPRiYnX99xHfox8uQNn0z34iNA049cq7DNb9l8fJwEP9gSnCuuIRseYpMXLsyt0ZS8V6@IYHlb@c9EqeYVCKZBj1y3OTA3ihhCXjAh/fe08mUtkZ0959a3VUO6oa565je/QTREhxkskG@RCWKIlG4r5bdYtBUbpa7l0GkSk7mDx9eIkN2vthMGuRcX17s2aXugc4TxzTrkS//GrxBqth0DjW9KcGBgG5g1U3sfMawc1pAden1bAiSG3LV0ZBYk/rnKrV5mWaFxaLi765FLXyzTpgcC20JuAHOswJpiWtjyvvVMUrgaW5yIH@0uh9plFRG2BccYXHYpvA/pg6ojTijhS29/1ybMVWXp9048ESBIcDZvsRk5Txv@6e0W66Keu7FTx@PS1aAf9I1LgG9SFcSwKQGta0ujnUcXzR1C4ne4qUcn/JnhxR@7GYEd8QXzT4BxAcUDvlKswcPjfyeEFzFDhFXyGQRhE3G8xeT8@ed189aOzdf06bim8LMh2l5t@gzS8SIErgSxrwsyfKHaxTjrmSaVk3dvpYlNA9K2gvGJn7Thkf3u@6dnl4kLuWnBhz@wMAkJnhsuKz/e/nJ8S0wThsv5ddOZJl/sW6AKL8hRh@sWRtqo6Gp2av0rqVIiYXoFxnJ1960aVx9Z//dPNyp/f3pcNR22mPIF6x@GfFf4Na9rPVlB60SHSPERB80euUpbASipP5QjTjt7TJAY5/KJUPpTGHBSTYSTHQmQfFqT2@q8AZ@lD6aW6RMP8IX9LKsojBeIsmgz45REf/FRKhfnVQ90y@soPc4Ki3Mhx9MnuQWHgwtS59QkCCbSe0a5dNFIZbMvZ@caqG8XMtaIVaAslzmZd4sbH2YXw9lgNSup17LbOQRhEbbC1P358HTyGyxlG306HQirFqeawdhg13I6YIZmz05zeREur@JBVoGViRWWxqzR@2PArw36UngI6Mg57URPPSbAY2Nff7nHxrLhQUL/yafbkTHorGlRFol2zh9gT3oJtsWrmejN1e5qfQ5tiYN6SaJ4Ow9vlN5w0SKKGrcpK2Vei4VyLAzid5@atrDI/34FquG3it8Wnve8bAaq2oB/wAL8mKktl/Fs40y2ygztHsSMiYY6BEbkj0dKWXX1M6wvSQS@saFu/vNxh3f965jPh4xC5YASSKDQ0a5D0YGrasryM3arJyC0PMBQZ4FSkYbntNi3kIrqJ4tGm/KW9SOECpAfmvEXl/uFaM/wZkyKlh2CjQs5ugKMlhLQcfLgzq11QiUOvLi3Y6PRlpeYSKOajrdo3v4U7aIdiakPInOnuthzYmFALTXnfra5uHnDxyNWym308lBmgp0uyc2voU="
	 };	


	 String chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890";


	String uid = "";
	String ver = "";

	private int statusCode = -1;
	
	
	
    Vector<Long> lastTenRequestTime = new Vector<Long>();
    long avgRequestTime = 0;    
    boolean bcalcRequestTime = true;
    boolean bneedChangeLine = false;
   
   
    long lastChangeLineTime = 0;
   
    String strCookies = "";
   
    int requestFailTimes = 0;
    long lastFailtime = 0;
   
    boolean isNeedRelogin = false;
   
    public boolean isInRelogin = false;
    
	 String ADDRESS = "";
	 String OLDADDRESS = "";
	 String ACCOUNT = "";
	 String PWD = "";
	 String SECURITYCODE = "";
	 
	 String user_id = "";
	 String mtype = "3";
	 String cid = "";
	 int time_zone = 0;
	 
	 boolean bLogin = false;
	
	 
	  Vector<String> showLeagueName = new Vector<String>();
	 
    private  ReadWriteLock lockeFinalEventsDetails = new ReentrantReadWriteLock();
    
    private  ReadWriteLock lockeSuccessTime = new ReentrantReadWriteLock();
    
    
    private  ReadWriteLock inplaydxqgameslock = new ReentrantReadWriteLock();
    
    
    public  Vector<String[]> finalEventDetailsVec = new Vector<String[]>();

    public  String successTime = "";
	 
    
    public long canLoginTime;
    
    
    
    public int getStatusCode() {
   	 
   	 
   	 
   	 return statusCode;
    }
    
    // 1成功	 -1登录失败, -2维护 , -3账号异常 , -4密码不正确 , 2抓取成功, 3抓取失败
    public void updateStatusCode(int i) {

    	if(i == -2) {
    		canLoginTime = System.currentTimeMillis() + 5*60*1000;
    	}
    	

    	//System.out.println(ACCOUNT + "  update hg_statusCode from " +   Integer.toString(statusCode) + " to " + Integer.toString(i));
    	
   	 statusCode = i;
    
    }
    
    
    public long getCanLoginTime() {
   	 return canLoginTime;
    }
    
    
    
    
	public  void initShowLeagueName(){
		showLeagueName.add("德国 - 德甲");
		showLeagueName.add("欧足联 - 冠军联赛");
		showLeagueName.add("西班牙 - 西甲");
		showLeagueName.add("意大利 - 甲级联赛");
		showLeagueName.add("法国 - 甲级联赛");
		showLeagueName.add("英格兰 - 超级联赛");
		showLeagueName.add("欧足联 - 欧罗巴联赛");
	}
	
	
	public void clearuser_id(){
		user_id = "";
	}
	
	public void setAddress(String address){
		ADDRESS = address;
	}
	

	
	
	
	
	public   boolean isInShowLeagueName(String str){
		boolean in = false;
		
		for(int i = 0; i < showLeagueName.size(); i++){
			if(showLeagueName.elementAt(i).contains(str)){
				in = true;
				break;
			}
		}
		
		return in;
	}
    
    
	public  void setGrabStext(String str){

		SimpleDateFormat df = new SimpleDateFormat("MM-dd HH:mm:ss");// 设置日期格式
		
		String timeStr = df.format(System.currentTimeMillis());

		//gamedetailswnd.setStateText(timeStr + ":" + str);

	}
	
	public  void setGrabColor(Color cr){
		
		//gamedetailswnd.setStateColor(cr);
	
	}
	
	
    

	
	
	
    
    
    public  void copyTofinalEventsDetails(){
    	
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");// 设置日期格式
		
		
		long currentTimeL = System.currentTimeMillis();
    	
		String currentTime = df.format(currentTimeL);
    	
    	lockeFinalEventsDetails.writeLock().lock();
    	
    	if(finalEventDetailsVec.size() != 0){
    		finalEventDetailsVec.clear();
    	}
    	
//    	for(int i = 0; i < eventDetailsVec.size(); i++ ){
//    		finalEventDetailsVec.add(eventDetailsVec.elementAt(i).clone());
//    	}

    	
    	lockeFinalEventsDetails.writeLock().unlock();
    	
    	lockeSuccessTime.writeLock().lock();
    	successTime = currentTime + " 成功";
    	lockeSuccessTime.writeLock().unlock();
    }
    
    
    public  Vector<String[]> getFinalEventsDetails(){
    	Vector<String[]> vec = new Vector<String[]>();
    	lockeFinalEventsDetails.readLock().lock();
    	
    	for(int i = 0; i < finalEventDetailsVec.size(); i++){
    		vec.add(finalEventDetailsVec.elementAt(i).clone());
    	}
    	
    	//vec = (Vector<String[]>)finalEventDetailsVec.clone();
    	lockeFinalEventsDetails.readLock().unlock();
    	return vec;
    }
    
    
    public  String getSuccessTime(){
    	String successTimetmp = "";
    	lockeSuccessTime.readLock().lock();
    	successTimetmp = successTime;
    	lockeSuccessTime.readLock().unlock();
    	return successTimetmp;
    }

	 
	 

	
	
	
	
	public String getAccount(){
		return ACCOUNT;
	}
    
    
	public boolean islogin(){
		return bLogin;
	}	 
	
	public void setIslogin(boolean b){
		bLogin = b;
	}
	
	public  void setLoginParams(String address, String account, String pwd){
		ADDRESS = address;
		OLDADDRESS = address;
		ACCOUNT = account;
		PWD = pwd;
	}
	
	

    public int login(){// 1成功	 -1登录失败, -2维护 , -3账号异常, -4密码不正确
    	
    	try{
    		ADDRESS = OLDADDRESS;    		
        	String loginLine = ADDRESS;
        	
        	
        	String response = doGet("https://955aaa.com/search/getUid", "cf_chl_3=0802e8cbff38336; cf_clearance=H6Bj6JBzSn27Q8zSCFv4mgXXl.aUwQpAA78WFDxFU8A-1711931854-1.0.1.1-AFmJfdOWMcgQfDb1wHqAQ1Bz7efadD9frPYzWvsfTwCBFXA1bB06YoIw2He0bp5_Rt5yt9TNY2lpGnJOIOLD.Q", "");
        	
        	Common.logOut(response);
        	
        	
        	response = doGet("https://955aaa.com/search/8781ee7e-4a14-482a-99b4-ee05d0e3cabc/413954/93742233?t=0.8248206470562034", "", "");
        	Common.logOut(response);

        	List<NameValuePair> detectionParams = new ArrayList<NameValuePair>();
        	detectionParams.add(new BasicNameValuePair("detection", "Y"));
        	
        	String res = doPost(loginLine, detectionParams, "");
        	
        	if(res==null) {
        		res = doPost(loginLine, detectionParams, "");
        	}
        	
        	if(res==null) {
        		return -1;
        	}
        	
        	if(res.contains("top.ver")) {
        		int ps = res.indexOf("top.ver") + 7;
        		ps = res.indexOf("'",ps) + 1;
	        	int pe = res.indexOf("'",ps);
	        	ver = res.substring(ps, pe);
	        	String ver1 = "";
	        	if(ver.contains("")) {
	        		//ver = new  String(ver.getBytes("ISO-8859-1"), "utf-8");
	        		ver = ver.replace("", "%08");
	        	}
	        	//https://hga030.com/transform.php?
	        	loginLine = ADDRESS + "transform.php?ver=" + ver;
		        int arrayindex =(int)(Math.random()*4);
		        String blackbox = blackboxarry[arrayindex];
		        StringBuilder strBuilder = new StringBuilder(blackbox);
		        for(int i = 26; i < 34; i++){
		        	strBuilder.setCharAt(i, chars.charAt((int)(Math.random()*62)));
		        }
		        blackbox = strBuilder.toString();
	        	List<NameValuePair> loginParams = new ArrayList<NameValuePair>();
	        	loginParams.add(new BasicNameValuePair("p", "chk_login"));
	        	loginParams.add(new BasicNameValuePair("langx", "zh-cn"));
	        	loginParams.add(new BasicNameValuePair("ver", ver));
	        	loginParams.add(new BasicNameValuePair("username", ACCOUNT));
	        	loginParams.add(new BasicNameValuePair("password", PWD));
	        	loginParams.add(new BasicNameValuePair("app", "N"));
	        	loginParams.add(new BasicNameValuePair("auto", "GZAAGD"));
	        	loginParams.add(new BasicNameValuePair("blackbox", blackbox));
	        	//loginParams.add(new BasicNameValuePair("userAgent", "TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwMS4wLjQ5NTEuNjcgU2FmYXJpLzUzNy4zNg=="));
	        	res = doPost(loginLine, loginParams, "");
	        	
	        	if(res==null) {
	        		res = doPost(loginLine, loginParams, "");
	        	}
	        	
	        	if(res.contains("è")){
	        		res = new  String(res.getBytes("ISO-8859-1"), "utf-8");
	        	}
	        	
	        	if(res.contains("code_message")) {
//	        		res = res.replace("<code_message>", "<code_message id='4.175'  hasEC=\"Y\">");
//	        		res = res.replace("<msg>", "<code_message id='4.275'>");
//	        		res = res.replace("</msg>", "</code_message>");
	            	Document doc = Jsoup.parse(res);
	            	Element element = doc.select("status").first();
	           	 	if(element.html().contains("200")) {
	           	 		
	           	 		Element element1 = doc.select("uid").first();
	           	 		uid = element1.html();
	           	 		
	           	 		String username = doc.select("username").first().html();
	           	 		
	           	 		List<NameValuePair> checkLoginDomainParams = new ArrayList<NameValuePair>();
	           	 		checkLoginDomainParams.add(new BasicNameValuePair("p", "check_login_domain"));
	           	 		checkLoginDomainParams.add(new BasicNameValuePair("ver", ver));
	           	 		checkLoginDomainParams.add(new BasicNameValuePair("username", username));
	           	 		checkLoginDomainParams.add(new BasicNameValuePair("uid", uid));
	           	 		checkLoginDomainParams.add(new BasicNameValuePair("langx", "zh-cn"));
	           	 		checkLoginDomainParams.add(new BasicNameValuePair("code", "663"));
	           	 		
		           	 	res = doPost(loginLine, checkLoginDomainParams, "");
			        	
			        	if(res==null) {
			        		res = doPost(loginLine, checkLoginDomainParams, "");
			        	}
			        	
			        	if(res.contains("è")){
			        		res = new  String(res.getBytes("ISO-8859-1"), "utf-8");
			        	}
	           	 		
			        	doc = Jsoup.parse(res);
			        	element1 = doc.select("new_domain").first();
			        	if(!element1.html().equals("no") && !element1.html().equals("")) {
			        		ADDRESS = "https://" + element1.html() + "/";
			        	}
			        	
	           	 		System.out.println("ADDRESS");
	           	 		
	           	 		updateStatusCode(1);
	           	 		return 1;	           	 		
	           	 	}
	        	}
        	}
    	}catch(Exception e){
    		e.printStackTrace();
    	}    	
    	updateStatusCode(-1);    	
    	return -1;
    }
    
    
    public void getAddress() {
    	//https://hga038.com/app/member/FT_index.php?uid=g00tp64c4m23656917l278478b0&langx=zh-cn&mtype=3&news_mem=Y&r=32392543
    		
    	String url = ADDRESS + "app/member/FT_index.php?uid=" + user_id + "&langx=zh-cn&mtype=" + mtype + "&news_mem=Y&r=32392543";
    	String res = doGet(url, "", "");
    	if(res==null)
    	{
    		res = doGet(url, "", "");
    	}
    	Document doc = Jsoup.parse(res);
   	 	Element form = doc.getElementById("newdomain");
   	 	if(form!=null) {
   	 		ADDRESS =  form.attr("action") + "/";
   	 	}
    }
    

    
    
    public boolean getTotalBet() {
    	try {
    		//https://m588.hga030.com/transform.php?ver=2021-07-21-04en10f7b-3ed5-ad58-0720-872ae5576be7
    		String url  = ADDRESS + "transform.php?ver=" + ver;
    		List<NameValuePair> leagueListParams = new ArrayList<NameValuePair>();
    		leagueListParams.add(new BasicNameValuePair("p", "get_league_list_All"));
    		leagueListParams.add(new BasicNameValuePair("uid", uid));
    		leagueListParams.add(new BasicNameValuePair("ver", ver));
    		leagueListParams.add(new BasicNameValuePair("langx", "zh-cn"));
    		leagueListParams.add(new BasicNameValuePair("gtype", "FT"));
    		leagueListParams.add(new BasicNameValuePair("FS", "N"));
    		leagueListParams.add(new BasicNameValuePair("showtype", "ft"));
    		leagueListParams.add(new BasicNameValuePair("date", "0"));
    		leagueListParams.add(new BasicNameValuePair("nocp", "N"));
    		
    		String res = doPost(url, leagueListParams, "");
    		if(res==null) {
    			res = doPost(url, leagueListParams, "");
    		}
    		if(res==null) {
   	 			return false;
   	 		}
    		
    		if(res.contains("get_league_list_All")) {
    			if(res.contains("lid")) {
        			Document doc = Jsoup.parse(res);
                	Element element = doc.select("lid").first();
               	 	String lid = element.html();
               	 	if(lid.length()>0) {
               	 		List<NameValuePair> getGameListParams = new ArrayList<NameValuePair>();
               	 		getGameListParams.add(new BasicNameValuePair("p", "get_game_list"));
               	 		getGameListParams.add(new BasicNameValuePair("ver", ver));
               	 		getGameListParams.add(new BasicNameValuePair("uid", uid));
               	 		getGameListParams.add(new BasicNameValuePair("langx", "zh-cn"));
               	 		getGameListParams.add(new BasicNameValuePair("p3type", ""));
               	 		getGameListParams.add(new BasicNameValuePair("date", "0"));
               	 		getGameListParams.add(new BasicNameValuePair("gtype", "ft"));
               	 		getGameListParams.add(new BasicNameValuePair("showtype", "today"));
               	 		getGameListParams.add(new BasicNameValuePair("rtype", "r"));
               	 		getGameListParams.add(new BasicNameValuePair("ltype", "3"));
               	 		getGameListParams.add(new BasicNameValuePair("lid", lid));
               	 		getGameListParams.add(new BasicNameValuePair("action", "clickCoupon"));
               	 		getGameListParams.add(new BasicNameValuePair("sorttype", "L"));
               	 		getGameListParams.add(new BasicNameValuePair("specialClick", ""));
               	 		//getGameListParams.add(new BasicNameValuePair("target", ""));
               	 		getGameListParams.add(new BasicNameValuePair("isFantasy", "N"));
               	 		getGameListParams.add(new BasicNameValuePair("ts", Long.toString(System.currentTimeMillis())));
               	 		
               	 		res = doPost(url, getGameListParams,"");
               	 		if(res==null) {
               	 			res = doPost(url, getGameListParams,"");
               	 		}
	               	 	if(res==null) {
	               	 		addFailsTimes();
	           	 			return false;
	           	 		}
	               	 	if(res.contains("è")||res.contains("é")){
	    	        		res = new  String(res.getBytes("ISO-8859-1"), "utf-8");
	    	        	}
	               	 	
	               	 	Document docgames = Jsoup.parse(res);
	               	 	int gameCount = docgames.select("ec").size();
	                	//Elements games = //doc.getElementsByTag("game");//doc.select("game");
	                	SimpleDateFormat dfmin = new SimpleDateFormat("yyyy-MM-dd HH:mm");
	                	
	                	//for(Element game: games) {
	                	Vector<String> filterGames = new Vector<String>();

	                	

	                	
	                	for(int j = 0; j < gameCount;j++) {
	                		Element game = docgames.select("ec").get(j);
	                		String ecid = game.getElementsByTag("ECID").first().ownText();//是之前的eventID吗？

	                		String year = game.getElementsByTag("SYSTIME").first().ownText().split("-")[0];
	                		
	            			HGEvent hgEvent = new HGEvent();
	            			hgEvent.eventId = ecid;
	            			hgEvent.gid = game.getElementsByTag("GID").first().ownText();
	            			hgEvent.leagueName = game.getElementsByTag("LEAGUE").first().ownText();
	            			hgEvent.homeTeam = game.getElementsByTag("TEAM_H").first().ownText().replace(" [中]", "");
	            			hgEvent.awayTeam = game.getElementsByTag("TEAM_C").first().ownText().replace(" [中]", "");
	            			String datetime = game.getElementsByTag("DATETIME").first().ownText();
	            			
	                		if(datetime.contains("a")){
	                			datetime = datetime.replace("a", "");
	                			datetime = year + "-" + datetime;
	                			
	                			java.util.Date startTimeDate = dfmin.parse(datetime);
	                			
	                			Calendar startTime = Calendar.getInstance();  
	                			startTime.setTime(startTimeDate);
	                			startTime.add(Calendar.HOUR_OF_DAY, 12);
	                			
	                			datetime = dfmin.format(startTime.getTimeInMillis());
	                		}
	                		
	                		if(datetime.contains("p")){
	                			datetime = datetime.replace("p", "");
	                			datetime = year + "-" + datetime;

	                			java.util.Date startTimeDate = dfmin.parse(datetime);
	                			
	                			Calendar startTime = Calendar.getInstance();  
	                			startTime.setTime(startTimeDate);
	                			//startTime.add(Calendar.DAY_OF_MONTH, 1);
	                			
	                			if(startTime.getTime().getHours()==12){
	                				startTime.add(Calendar.HOUR_OF_DAY, 12);
	                			}else{
	                				startTime.add(Calendar.DAY_OF_MONTH, 1);
	                			}
	                			
	                			
	                			datetime = dfmin.format(startTime.getTimeInMillis());
	                			
	                		}
	            			
	            			hgEvent.eventTime = datetime;

	            			hgEvent.gnumh = game.getElementsByTag("GNUM_H").first().ownText();
	            			hgEvent.gnumc = game.getElementsByTag("GNUM_C").first().ownText();
	            			String strong = game.getElementsByTag("STRONG").first().ownText();
	            			String pankou = game.getElementsByTag("RATIO_R").first().ownText().replace(" ", "");
//	            			hgEvent.wholeRQPPankou = Common.pankouStr(strong + pankou);
//	            			hgEvent.wholeRQPPankouUp = game.getElementsByTag("IOR_RH").first().ownText();
//	            			hgEvent.wholeRQPPankouDown = game.getElementsByTag("IOR_RC").first().ownText();
//	            			hgEvent.strong = strong;
	            			
	            			String o = game.getElementsByTag("RATIO_OUO").first().ownText();
        					hgEvent.wholeDXPPankou = Common.pankouStr(o);

	            			
	            			String ho = game.getElementsByTag("RATIO_HOUO").first().ownText();
        					hgEvent.halfDXPPankou = Common.pankouStr(ho);
	            			
	            			HGManager.HGEvents.add(hgEvent);
	            			
	                	}
	                	
               	
               	 	}
    			}

    			return true;
    		}
    		Common.logOut(res);
    		addFailsTimes();
    		return false;
    	}catch(Exception e) {
    		e.printStackTrace();
    		addFailsTimes();
    	}
    	
    	return false;
    }
 
    
    public boolean getInplaybet(){
    	
    	try {
    		//https://m588.hga030.com/transform.php?ver=2021-07-21-04en10f7b-3ed5-ad58-0720-872ae5576be7
    		String url  = ADDRESS + "transform.php?ver=" + ver;
    		List<NameValuePair> leagueListParams = new ArrayList<NameValuePair>();
    		leagueListParams.add(new BasicNameValuePair("p", "get_game_list"));
    		leagueListParams.add(new BasicNameValuePair("uid", uid));
    		leagueListParams.add(new BasicNameValuePair("ver", ver));
    		leagueListParams.add(new BasicNameValuePair("langx", "zh-cn"));
    		leagueListParams.add(new BasicNameValuePair("gtype", "ft"));
    		leagueListParams.add(new BasicNameValuePair("showtype", "live"));
    		leagueListParams.add(new BasicNameValuePair("date", ""));

    		
    		
    		leagueListParams.add(new BasicNameValuePair("p3type", ""));
    		leagueListParams.add(new BasicNameValuePair("rtype", "rb"));
    		leagueListParams.add(new BasicNameValuePair("ltype", "3"));
    		leagueListParams.add(new BasicNameValuePair("sorttype", "L"));
    		leagueListParams.add(new BasicNameValuePair("specialClick", ""));
    		leagueListParams.add(new BasicNameValuePair("isFantasy", "N"));
    		leagueListParams.add(new BasicNameValuePair("ts", Long.toString(System.currentTimeMillis())));

    		
    		
    		
    		String res = doPost(url, leagueListParams, "");
    		if(res==null) {
    			res = doPost(url, leagueListParams, "");
    		}
    		if(res==null) {
   	 			return false;
   	 		}
    		
       	 	if(res.contains("è")||res.contains("é")){
        		res = new  String(res.getBytes("ISO-8859-1"), "utf-8");
        	}
    		
    		if(res.contains("serverresponse")) {
           	 	Document docgames = Jsoup.parse(res);
           	 	int gameCount = docgames.select("ec").size();
            	//Elements games = //doc.getElementsByTag("game");//doc.select("game");
            	SimpleDateFormat dfmin = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            	
            	//for(Element game: games) {
            	//Vector<String> filterGames = new Vector<String>();

            	
            	for(int j = 0; j < gameCount;j++) {
            		Element game = docgames.select("ec").get(j);
            		String ecid = game.getElementsByTag("ECID").first().ownText();//是之前的eventID吗？
//            		if(!filterGames.contains(ecid)) {
//            			continue;
//            		}
            		String year = game.getElementsByTag("SYSTIME").first().ownText().split("-")[0];
            		
        			HGEvent hgEvent = new HGEvent();
        			hgEvent.eventId = ecid;
        			hgEvent.gid = game.getElementsByTag("GID").first().ownText();
        			hgEvent.leagueName = game.getElementsByTag("LEAGUE").first().ownText();
        			hgEvent.homeTeam = game.getElementsByTag("TEAM_H").first().ownText().replace(" [中]", "");
        			hgEvent.awayTeam = game.getElementsByTag("TEAM_C").first().ownText().replace(" [中]", "");
        			String datetime = game.getElementsByTag("DATETIME").first().ownText();
        			
            		if(datetime.contains("a")){
            			datetime = datetime.replace("a", "");
            			datetime = year + "-" + datetime;
            			
            			java.util.Date startTimeDate = dfmin.parse(datetime);
            			
            			Calendar startTime = Calendar.getInstance();  
            			startTime.setTime(startTimeDate);
            			startTime.add(Calendar.HOUR_OF_DAY, 12);
            			
            			datetime = dfmin.format(startTime.getTimeInMillis());
            		}
            		
            		if(datetime.contains("p")){
            			datetime = datetime.replace("p", "");
            			datetime = year + "-" + datetime;

            			java.util.Date startTimeDate = dfmin.parse(datetime);
            			
            			Calendar startTime = Calendar.getInstance();  
            			startTime.setTime(startTimeDate);
            			//startTime.add(Calendar.DAY_OF_MONTH, 1);
            			
            			if(startTime.getTime().getHours()==12){
            				startTime.add(Calendar.HOUR_OF_DAY, 12);
            			}else{
            				startTime.add(Calendar.DAY_OF_MONTH, 1);
            			}
            			datetime = dfmin.format(startTime.getTimeInMillis());            			
            		}
        			
        			hgEvent.eventTime = datetime;

        			hgEvent.gnumh = game.getElementsByTag("GNUM_H").first().ownText();
        			hgEvent.gnumc = game.getElementsByTag("GNUM_C").first().ownText();
        			String strong = game.getElementsByTag("STRONG").first().ownText();
        			String pankou = game.getElementsByTag("RATIO_RE").first().ownText().replace(" ", "");
        			

        			hgEvent.strong = strong;
        			
        			String o = game.getElementsByTag("RATIO_ROUO").first().ownText();
					hgEvent.wholeDXPPankou = Common.pankouStr(o);
//        			hgEvent.wholeDXPPankouUp = game.getElementsByTag("IOR_ROUC").first().ownText();
//        			hgEvent.wholeDXPPankouDown = game.getElementsByTag("IOR_ROUH").first().ownText();
        			
        			String ho = game.getElementsByTag("RATIO_HROUO").first().ownText();
					hgEvent.halfDXPPankou = Common.pankouStr(ho);
					
        			hgEvent.homeTeamScore = game.getElementsByTag("SCORE_H").first().ownText();
        			hgEvent.awayTeamScore = game.getElementsByTag("SCORE_C").first().ownText();
        			try {
        				hgEvent.duringTime = game.getElementsByTag("retimeset").first().ownText();
        			}catch(Exception e) {
        				System.out.println(game.toString());
        			}
        			
        			
        			HGManager.HGEvents.add(hgEvent);
        			
            	}
            	
            	return true;
    		}else {
    			Common.logOut(res);
        		addFailsTimes();
        		return false;
    		}

    	}catch(Exception e) {
    		e.printStackTrace();
    		addFailsTimes();
    	}
    	
    	return false;
    	
    }
    
    
    
    

    
       
  
    


    public boolean getgameresult(){
    	try{
    		
    		//http://66.133.87.54/app/member/result/result.php?game_type=FT&uid=42t7kzd5m17409677l4300439&langx=zh-cn
    		
    		String res = doGet(ADDRESS + "app/member/result/result.php?game_type=FT&" + "uid=" + user_id + "&langx=zh-cn", "", "");

        	//解析工作  第i页
        	//res = bala...
    		
    		if(res == null || !res.contains("足球 : 赛果")){
    			doGet(ADDRESS + "app/member/result/result.php?game_type=FT&" + "uid=" + user_id + "&langx=zh-cn", "", "");
    		}
    		
    		if(user_id.equals("")){
    			return false;
    		}
    		
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
			
			long currenttime = System.currentTimeMillis();
			
			//long gametime = df.parse(onegame.datetime).getTime();
			
			if(res != null && res.contains("足球 : 赛果")){
				
				if(res.contains("è")){
            		res = new  String(res.getBytes("ISO-8859-1"), "utf-8");
            	}
				
				

			}
			
			
			SimpleDateFormat dfday = new SimpleDateFormat("yyyy-MM-dd");
			
			
			
			
			Calendar caltimenow = Calendar.getInstance();
			


			if(caltimenow.get(Calendar.HOUR_OF_DAY) > 12 && caltimenow.get(Calendar.HOUR_OF_DAY) < 15){
				
				caltimenow.add(Calendar.DAY_OF_YEAR, -1);
				
				String catchdate = dfday.format(caltimenow.getTimeInMillis());
				
				
					
					
				res = doGet(ADDRESS + "app/member/result/result.php?game_type=FT&list_date=" + catchdate + "&uid=" + user_id + "&langx=zh-cn", "", "");

	        	//解析工作  第i页
	        	//res = bala...
	    		
	    		if(res == null || !res.contains("足球 : 赛果")){
	    			doGet(ADDRESS + "app/member/result/result.php?game_type=FT&list_date=" + catchdate + "&uid=" + user_id + "&langx=zh-cn", "", "");
	    		}
	    		
				
				
				currenttime = System.currentTimeMillis();
				
				//long gametime = df.parse(onegame.datetime).getTime();
				
				if(res != null && res.contains("足球 : 赛果")){
					
					if(res.contains("è")){
	            		res = new  String(res.getBytes("ISO-8859-1"), "utf-8");
	            	}
					

				}
					
			}
    		
    		

    		
    		
    		
    		
    		return true;
    	}catch(Exception e){
    		addFailsTimes();
    		e.printStackTrace();
    		return false;
    	}
    }
    
    
    
    
    
	
    public  CloseableHttpResponse  execute(HttpUriRequest request) throws IOException, ClientProtocolException{
    	
    	long time1 = System.currentTimeMillis();
    	long time2 = System.currentTimeMillis();
    	
    	CloseableHttpResponse response;
    	
    	
    	SimpleDateFormat dfsec = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	
    	
    	try{
    		Thread.sleep(100);
    		//Thread.sleep(1200);
    	}catch(Exception e){
    		e.printStackTrace();
    	}
    	
    	
    	
    	
    	//System.out.println("excecute time:" + dfsec.format(time1));
    	
    	
    	try{
    		response = httpclient.execute(request);    		
    		time2 = System.currentTimeMillis();    		
    		calcRequestAveTime(time2 - time1);
    		
    	}catch(Exception e){
    		
    		time2 = System.currentTimeMillis();
    		calcRequestAveTime(time2 - time1);
    		
    		throw e;
    	}
    	

    	
    	return response;
    	
    }
    
    
    public String doGet(String url, String cookies, String referUrl) {
    	
        try {  
            // 创建httpget.    
            HttpGet httpget = new HttpGet(url);
            
            if(cookies != "") {
            	httpget.addHeader("Cookie",cookies);
            }
            httpget.addHeader("Accept-Encoding","Accept-Encoding: gzip, deflate, sdch");
            httpget.addHeader("Accept-Language","Accept-Language: zh-CN,zh;q=0.8");
            httpget.addHeader("Connection","keep-alive");
            //httpget.addHeader("Upgrade-Insecure-Requests","1");
            httpget.addHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
            //
            
            if(referUrl != "")
            {
            	httpget.addHeader("Referer",referUrl);
            	
            }
            
            httpget.addHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36");           
           // System.out.println("executing request " + httpget.getURI()); 
           
            //设置超时
            
//            HttpHost proxy = new HttpHost("127.0.0.1", 1080, "http");
//            
//            RequestConfig requestConfigtmp = RequestConfig.custom().setSocketTimeout(defaultTimeout).setConnectTimeout(defaultTimeout).build();
//            requestConfigtmp= RequestConfig.copy(requestConfigtmp).setProxy(proxy).build();
//            httpget.setConfig(requestConfigtmp);
            
            // 执行get请求.    
            CloseableHttpResponse response = execute(httpget); 
            
            String statusLine = response.getStatusLine().toString();   
            if(statusLine.indexOf("200 OK") == -1) {
         	  // System.out.println(statusLine); 
            }
            
            try{
            	setCookie(response);  	
            	System.out.println("设置cookie:" + strCookies);
            	
            	if(response.getStatusLine().toString().indexOf("302 Found") > 0) {
             	   return response.getFirstHeader("Location").getValue();
                }
                HttpEntity entity = response.getEntity(); 
                
                String res = EntityUtils.toString(entity);
                
                if(res != null && res.length() > 0 ){     
                	//System.out.println(res);
                	
//                	if(res.contains("logout_warn")) {
//                		updateStatusCode(-1);
//                	}
                	
                    return res;
                }
            }finally{
                httpget.releaseConnection();
                response.close();
            }
            

            

        } catch (ClientProtocolException e) {  
            e.printStackTrace(); 
        } catch (ParseException e) {  
            e.printStackTrace(); 
        } catch (IOException e) {  
            e.printStackTrace(); 
        } catch (Exception e){
        	e.printStackTrace();
        }
        
        return null;
    }
    
    
    
    /**以utf-8形式读取*/
    public String doPost(String url,List<NameValuePair> formparams, String cookies) {
        return doPost(url, formparams,"UTF-8", cookies);
    }

    public String doPost(String url,List<NameValuePair> formparams,String charset, String cookies) {


     // 创建httppost   
    	
    	try {
    	
        HttpPost httppost = new HttpPost(url); 
        
/*        if(url.contains("get_today_ft_league_wager.php")){
        	httppost.addHeader("Cookie", strCookies);
        }*/
        
        httppost.addHeader("Cookie", "cu=Y; protocolstr=https; test=init");
        //httppost.addHeader("Accept-Encoding","Accept-Encoding: gzip, deflate, sdch");
        //httppost.addHeader("x-requested-with","XMLHttpRequest");
        
        //httppost.addHeader("Cookie", strCookies);
        
        httppost.addHeader("Accept-Language","zh-CN");
        httppost.addHeader("Accept","application/json, text/javascript, */*; q=0.01");
        httppost.addHeader("Accept-Encoding","gzip, deflate, br");
        httppost.addHeader("Connection","keep-alive");
        httppost.addHeader("Cache-Control","max-age=0");
        
        String Host = ADDRESS.replace("https://", "");
        Host = Host.replace("/", "");
        
        httppost.addHeader("Host",Host);
        httppost.addHeader("Origin","https://"+Host);
        httppost.addHeader("Referer",ADDRESS);

        
        httppost.addHeader("Content-type","application/x-www-form-urlencoded");
        httppost.addHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36");    
        


        UrlEncodedFormEntity uefEntity;
        
            uefEntity = new UrlEncodedFormEntity(formparams, charset);
            httppost.setEntity(uefEntity);
            
            
            
            
//            HttpHost proxy = new HttpHost("127.0.0.1", 1080, "http");
//            
//
//            
//            
//            
//            RequestConfig requestConfigtmp = RequestConfig.custom().setSocketTimeout(defaultTimeout).setConnectTimeout(defaultTimeout).build();
//            requestConfigtmp= RequestConfig.copy(requestConfigtmp).setProxy(proxy).build();
//            httppost.setConfig(requestConfigtmp);
            
            CloseableHttpResponse response = execute(httppost);
            try {
                // 打印响应状态    
            	setCookie(response);
            	//System.out.println("设置cookie:" + strCookies);
            	if(response.getStatusLine().toString().indexOf("302 Found") > 0) {
            		String location = response.getFirstHeader("Location").getValue();
            		//System.out.println(response.getStatusLine());
            		
            		
            		
            		if(location != null) {
            			return location;
            		}
            	}
            	
            	
            	
            	//Header headers[] = response.getHeaders("Content-Type");
            	
            	
                HttpEntity entity = response.getEntity(); 
                
                String res = "";
                
                if(url.contains("get_today_ft_league_wager.php") || url.contains("app/ft/get_today_ft_allbets_wager.php")){            		
                	res = new  String(EntityUtils.toString(entity).getBytes("ISO-8859-1"), "UTF-8");
                }else{
                	res = EntityUtils.toString(entity);
                }
                
                
                if(res != null && res.length() > 0 ){   

//                	if(res.contains("logout_warn")) {
//                		updateStatusCode(-1);
//                	}
                	
                	//System.out.println(res);
                    return res;
                }
            	
            	

            } finally {  
            	httppost.releaseConnection();
                response.close(); 
            }  
        } catch (ClientProtocolException e) {  
            e.printStackTrace(); 
        } catch (UnsupportedEncodingException e1) {  
            e1.printStackTrace(); 
        } catch (IOException e) {  
            e.printStackTrace(); 
     
        } catch(Exception e){
     	   e.printStackTrace();
        } 
        return null;
    }
    
    
    
	public String setCookie(CloseableHttpResponse httpResponse)
	{
		//strCookies = "";
		//System.out.println("----setCookieStore");
		Header headers[] = httpResponse.getHeaders("Set-Cookie");
		if (headers == null || headers.length==0)
		{
			//System.out.println("----there are no cookies");
			return null;
		}

		String cookie = "";
		for (int i = 0; i < headers.length; i++) {
			cookie += headers[i].getValue();
			if(i != headers.length-1)
			{
				cookie += ";";
			}
		}
		String cookies[] = cookie.split(";");
		
		for (String c : cookies)
		{
			if(c.indexOf("path=") != -1 || c.indexOf("expires=") != -1 || c.indexOf("domain=") != -1 || c.indexOf("HttpOnly") != -1)
				continue;
			strCookies += c;
			strCookies += ";";
		}
		//System.out.println("----setCookieStore success");

		return strCookies;
	}
    
    
    public synchronized void calcRequestAveTime(long requestTime){
        
    	if(bcalcRequestTime == true){
    		
        	//requestCount++;
        	
    		long totalReqeustTime = 0;
    		
        	lastTenRequestTime.add(requestTime);
        	
        	while(lastTenRequestTime.size() >10){
        		lastTenRequestTime.remove(0);
        	}
        	
        	
        	if(lastTenRequestTime.size() == 10){
            	for(int i = 0; i < lastTenRequestTime.size(); i++){
            		totalReqeustTime += lastTenRequestTime.elementAt(i);
            	}
            	avgRequestTime = totalReqeustTime/lastTenRequestTime.size();
            	
            	
            	//System.out.printf("[迪斯尼会员]平均请求时间:%d\n", avgRequestTime);
            	
            	
            	long currentTime = System.currentTimeMillis();
            	
            	long passTime = currentTime - lastChangeLineTime;
            	
            	if(avgRequestTime >= 500 && passTime >= 90*1000){
            		//setisNeedChangeLine(true);
            		lastChangeLineTime = currentTime;
            	}

        	}

    	}

    		
    	
    }
    
    
    
    
    
    public   void addFailsTimes(){
    	
    	System.out.println("add failed times");
    	
    	long currentTime = System.currentTimeMillis();
    	
    	if(((currentTime - lastFailtime) < 40*1000) || (lastFailtime == 0)){
    		requestFailTimes++;
    		
    		lastFailtime = currentTime;
    		
    		if(requestFailTimes >= 8){    			
    			System.out.println("request fail times big than 4");    			
    			setIsNeedRelogin(true);
    			requestFailTimes = 0;
    			
    			
    			
    			
    		}
    		
    	}
    	else{
    		requestFailTimes = 1;
    		lastFailtime = currentTime;
    	}
    }
    
    
    public   void setIsNeedRelogin(boolean flag){
    	
    	System.out.println("set need relogin");
    	
    	isNeedRelogin = flag;
    	requestFailTimes = 0;
    	
    	
    	updateStatusCode(-1);
    	
    	
    }
    
    public   boolean getIsNeedRelogin(){
    	return isNeedRelogin;
    }
    
    

    
    
}
